Manual de SQL

Manual interactivo para aprender SQL paso a paso: creación de bases de datos, tablas, relaciones, consultas, JOINs, transacciones y buenas prácticas profesionales usando ejemplos orientados a empleados, departamentos y proyectos empresariales.

Bloque 1 · Introducción

¿Qué es SQL?

SQL (Structured Query Language) es el lenguaje estándar para trabajar con bases de datos relacionales.

Permite:

Conceptos fundamentales

Concepto Descripción
Tabla Conjunto de datos organizados
Fila Registro individual
Columna Campo de información
Relación Conexión entre tablas

Ejemplo empresarial

SQL es el idioma principal de las bases de datos relacionales.
Bloque 2 · DDL

Creación de bases de datos y tablas

Crear una base de datos

CREATE DATABASE EmpresaDB;

Seleccionar base de datos

USE EmpresaDB;

Tipos de datos importantes

Tipo Uso
INT Números enteros
VARCHAR Texto
DECIMAL Dinero
DATE Fechas
BOOLEAN Verdadero/Falso

Crear tabla Empleados

CREATE TABLE Empleados (

 id_empleado INT PRIMARY KEY,
 nombre VARCHAR(80) NOT NULL,
 telefono VARCHAR(20),
 email VARCHAR(100) UNIQUE,
 salario DECIMAL(8,2)

);

Explicación de restricciones

Los teléfonos suelen almacenarse como VARCHAR y no como INT.
Bloque 3 · Relaciones

Claves foráneas y relaciones

Las relaciones conectan tablas entre sí.

Tabla Departamentos

CREATE TABLE Departamentos (

 id_departamento INT PRIMARY KEY,
 nombre VARCHAR(80)

);

Tabla Empleados relacionada

CREATE TABLE Empleados (

 id_empleado INT PRIMARY KEY,
 nombre VARCHAR(80),

 id_departamento INT,

 FOREIGN KEY(id_departamento)
 REFERENCES Departamentos(id_departamento)

);

¿Qué hace la FOREIGN KEY?

Las claves foráneas protegen la coherencia de la base de datos.
Bloque 4 · INSERT

Insertar datos con INSERT

Insertar departamentos

INSERT INTO Departamentos VALUES
(1, 'Recursos Humanos'),
(2, 'Finanzas'),
(3, 'Tecnología');

Insertar empleados

INSERT INTO Empleados VALUES
(1, 'Laura Gómez', '611222333',
'laura@empresa.com', 2400.00, 1),

(2, 'Carlos Ruiz', '699111555',
'carlos@empresa.com', 3200.00, 3);

Orden correcto

No puedes insertar un empleado con un departamento inexistente.
Bloque 5 · SELECT

Consultas SELECT

Ver todos los empleados

SELECT * FROM Empleados;

Ver columnas específicas

SELECT nombre, salario
FROM Empleados;

Filtrar resultados

SELECT *
FROM Empleados
WHERE salario > 2500;

Ordenar datos

SELECT *
FROM Empleados
ORDER BY salario DESC;

Operadores habituales

Operador Uso
= Igual
> Mayor
< Menor
LIKE Búsqueda parcial
ORDER BY DESC ordena de mayor a menor.
Bloque 6 · UPDATE y DELETE

Modificar y borrar datos

Actualizar salario

UPDATE Empleados

SET salario = 3500

WHERE id_empleado = 2;

Eliminar un empleado

DELETE FROM Empleados

WHERE id_empleado = 1;

Regla profesional

Siempre prueba primero con SELECT.

SELECT *
FROM Empleados
WHERE id_empleado = 2;
UPDATE o DELETE sin WHERE afectan TODA la tabla.
Bloque 7 · JOIN

JOIN y consultas relacionales

JOIN permite unir tablas relacionadas.

Consulta relacional

SELECT
E.nombre,
D.nombre AS departamento,
E.salario

FROM Empleados E

JOIN Departamentos D
ON E.id_departamento =
D.id_departamento;

Cómo leer el JOIN

Alias

Alias Tabla
E Empleados
D Departamentos
JOIN es uno de los pilares más importantes de SQL.
Bloque 8 · Transacciones

Transacciones y seguridad

Las transacciones agrupan operaciones críticas.

Ejemplo

START TRANSACTION;

UPDATE Empleados
SET salario = salario - 200
WHERE id_empleado = 1;

UPDATE Empleados
SET salario = salario + 200
WHERE id_empleado = 2;

COMMIT;

ROLLBACK

ROLLBACK;

Deshace cambios si algo falla.

Ventajas

Las transacciones son fundamentales en sistemas bancarios.
Bloque 9 · ALTER y DROP

Modificar estructura

Añadir columna

ALTER TABLE Empleados

ADD fecha_contrato DATE;

Modificar tipo

ALTER TABLE Empleados

MODIFY telefono VARCHAR(30);

Borrar tabla

DROP TABLE Empleados;

Borrar base de datos

DROP DATABASE EmpresaDB;
DROP elimina información permanentemente.
Bloque 10 · Buenas prácticas

Buenas prácticas profesionales

Consejos importantes

Errores frecuentes

El diseño correcto evita muchos problemas futuros.

Mini-Test Final

1. ¿Qué hace PRIMARY KEY?

2. ¿Qué hace una FOREIGN KEY?

3. ¿Qué comando une tablas?

4. ¿Qué hace COMMIT?